package com.sky.config;

import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.RedisConnectionFailureException;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.StringRedisSerializer;

@Configuration
@Slf4j
public class RedisConfigration {
    public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory){
        log.info("开始创建redis模版对象。。。");
        RedisTemplate redisTemplate = new RedisTemplate();
        redisTemplate.setConnectionFactory(redisConnectionFactory);
        //设置redis key的序列化器
        redisTemplate.setKeySerializer(new StringRedisSerializer());
        return redisTemplate;

//        在保存数据时需要把java对象序列化为byte，在读取数据时需要把byte反序列化为java对象；
//        不同的java数据类型序列化和反序列化的逻辑不一样；
//        java对象序列化后的文本格式不一样。常见的有java对象字节码、json字符串，xml字符串；
//        spring把上述逻辑封闭在redis序列化器中，接口为RedisSerializer；


    }
}
